package bb.lanxing.mvp.presetner.i;

import bb.lanxing.model.database.RouteBook;
import bb.lanxing.model.lushu.WayPoint;
import bb.lanxing.model.lushu.WayPointBuilder;
import java.util.Iterator;
import java.util.List;

public interface CreateRouteBookPresenter extends IPresenter {
    void addWayPoints(WayPoint... point);

    void build();

    double getDistance();

    WayPoint getEndWayPoint();

    int getSelectedIndex();

    WayPoint getSelectedWayPoint();

    WayPoint getStartWayPoint();

    WayPoint getWayPointAt(int index);

    int getWayPointSize();

    List<WayPoint> getWayPoints();

    int indexOf(WayPoint wayPoint);

    int insertWayPointAfter(WayPoint after, WayPoint wayPoint);

    int insertWayPointBefore(WayPoint before, WayPoint wayPoint);

    Iterator<WayPoint> iterator();

    WayPointBuilder newWayPointBuilder();

    void preview();

    void reBuild(RouteBook routeBook);

    void removeAllWayPoint();

    WayPoint removeAt(int index);

    void reverseCodeForWayPoint(WayPoint wayPoint);

    void search(String address);

    void selectWayPoint(int index);

    void setStatusForWayPoint(WayPoint wayPoint, int status);

    void setTagForWayPoint(WayPoint wayPoint, Object tag);

    void setWayPointAt(int wayPointAt, WayPoint wayPoint);
}
